Tableau Serverに対するSSL設定を行う
Tableau ServerではWebアプリケーションへのアクセスを確保するために、OpenSSLを使ってSSL(Secure Sockets Layer)暗号化を使う事が出来ます。Webアプリケーションへのアクセスが安全である事を保証し、Tableau ServerとTableau Desktop間で連携される機密情報も保護されます。
以下公式ヘルプページを見ると、『ロードバランサでSSLを設定する方法』『Tableau ServerでSSLを設定する方法』『Tableau ServerクラスタでSSLを設定する方法』等幾つか手法が解説されています。
当エントリでは、一番シンプルな構成となる『Tableau ServerでSSLを設定する方法』について、証明書発行作業と併せて進めて手順を解説して行きたいと思います。
目次
- 証明書KEY情報の作成(on Tableau Server)
- 証明書CSR情報の作成(on Tableau Server)
- SSL証明書の取得(オレオレ証明書を自前で作成)〜設定
- SSL証明書の取得(商用証明書を購入)〜設定
証明書KEY情報の作成(on Tableau Server)
Tableau ServerがインストールされているWindows OSにて、コマンドプロンプトを管理者モードで起動。
Tableau Server配下のApache binディレクトリに移動。Tableau 8.1をデフォルトインストールで導入した場合のパスは以下の値となります。
C:/> cd C:\Program Files\Tableau\Tableau Server\8.1\apache\bin
以下コマンドを実行。途中パスフレーズを入力する場面になるので値を入力。この値は後で使うので控えて置く事。
C:\Program Files\Tableau\Tableau Server\8.1\apache\bin>openssl.exe genrsa -des3 -out tableauserverssl.key 4096 WARNING: can't open config file: /usr/local/ssl/openssl.cnf Loading 'screen' into random state - done Generating RSA private key, 4096 bit long modulus .............................................................++ ........................................................................ ...........................................++ e is 65537 (0x10001) Enter pass phrase for tableauserverssl.key:(パスフレーズを入力) Verifying - Enter pass phrase for tableauserverssl.key:(パスフレーズを再度入力) C:\Program Files\Tableau\Tableau Server\8.1\apache\bin>
パスフレーズを埋め込むには以下のコマンドを実行。
C:\Program Files\Tableau\Tableau Server\8.1\apache\bin>openssl.exe rsa -in tableauserverssl.key -out tableauserverssl.key WARNING: can't open config file: /usr/local/ssl/openssl.cnf Enter pass phrase for tableauserverssl.key:(パスフレーズを入力) writing RSA key C:\Program Files\Tableau\Tableau Server\8.1\apache\bin>
証明書CSR情報の作成(on Tableau Server)
上記で作成したKEY情報を元に、CA(Certificate Authority)に送るCSR情報を生成します。
まずはコマンドプロンプト上で以下コマンドを実行し、環境変数を設定。Tableau Serverのバージョンは適宜読み替えて設定してください。(※この手順はオプションですが、実施推奨との事です)
C:\>set OPENSSL_CONF=C:\Program Files\Tableau\Tableau Server\8.1\apache\conf\openssl.cnf 又は C:\>set OPENSSL_CONF=C:\Program Files (x86)\Tableau\Tableau Server\8.1\apache\conf\openssl.cnf
CSR(Certificate Signing Request)ファイルを作成する為に、以下のコマンドを実行します。Country Name以下入力を促される項目については、取得する証明書の内容に基いてそれぞれ定めた内容を正確に入力してください。
C:\Program Files\Tableau\Tableau Server\8.1\apache\bin>openssl.exe req -new -key tableauserverssl.key -out tableauserverssl.csr Loading 'screen' into random state - done You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:XXXXXXXXXX Locality Name (eg, city) []:XXXXXXXXXXXXXX Organization Name (eg, company) [Internet Widgits Pty Ltd]:XXXXXXXXXXXXXXX Organizational Unit Name (eg, section) []:XXXXXXXXXXXXXXXXXXXXXXXXX Common Name (e.g. server FQDN or YOUR name) []:XXXXXXXXXXXXXX Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:XXXXXXXXXXXXXXXX An optional company name []:
SSL証明書の取得(オレオレ証明書を自前で作成)〜設定
まずは試しにオレオレ証明書を作って設定を試してみましょう。上記作業に引き続き、コマンド操作を実施します。
C:\Program Files\Tableau\Tableau Server\8.2\apache\bin>openssl.exe x509 -days 365 -req -signkey tableauserverssl.key < tableauserverssl.csr > tableauserverssl.crt Loading 'screen' into random state - done Signature ok subject=/C=XXX/ST=XXXXXXXXX/L=XXXXXXXXXXXX/O=XXXXXXXXXXXXXXX/OU=XXXXXXXXXXXXX/CN=XXXXXXXXXXXXXXX Getting Private key C:\Program Files\Tableau\Tableau Server\8.2\apache\bin>
ひとまず一式、揃いました。
揃った情報を元に、Tableau ServerにSSL証明書を設定します。
まずはこの作業を行う前に、Tableau Serverを停止させます。メニューの[Stop Tableau Server]を実行。
(ちなみに停止をしておかないと、この後の設定後[OK]押下した段階で以下の様なアラートが出ます)
キー情報と証明書情報が用意出来たら、Tableau ServerでSSLを使うための設定が可能となります。Tableau Server管理者ガイドのSSLセクションに記載されている手順を実施します。
SSLフォルダに上記で作成したファイルを配置。SSLフォルダ自体は無かったので作成しました。
SSLの設定を行います。メニューから[Configure Tableau Server]を選択。
起動したウインドウの[SSL]タブを開き、必要事項を設定。設定出来たら[OK]押下。
設定保存が完了しました。
メニューから[Start Tableau Server]を実行します。
Tableau Server再起動後、ブラウザ経由でアクセスしてみます。オレオレ証明書なのでこの時点では正しく『SSLエラー』画面が出ていますね。
ブラウザ毎に対応した手段で、上記で作成したSSL証明書をインストールします。
ブラウザを再起動後、再度Tableau ServerのURLにアクセスしてみます。今後はちゃんとログイン画面が表示されましたね!
SSL証明書の取得(商用証明書を購入)〜設定
上記はオレオレ証明書での作成・設定手順でしたが、商用の証明書についても基本的な手順は同じです。証明書の購入については以下ブログエントリをご参照ください。
証明書の購入先についてはお値段や内容に拠っても幾つか選択肢があると思いますが、以下の辺りがお値段的にはお手頃なのではないでしょうか。
所定の手続きを経て証明書設定に必要な情報を取得後、同様にSSL証明書に関する設定を行います。プランによっては中間ファイルを利用するケースもあると思いますので、その際は設定ファイルも併せて追加します。商用証明書であればこれで設定完了、サーバ再起動後はブラウザ経由でアクセスした時点でSSL通信が行えているはずです。
まとめ
以上、Tableau Serverに於けるSSL証明書設定手順でした。冒頭にも記載しましたが、サーバーの構成によってはロードバランサー(AWSであればELB)やクラスタ構成で証明書を設定するケースも出て来ると思います。その辺りについても機会があればご紹介してみたいと思います。こちらからは以上です。